// 计算总持续时间
export const total_time = (startTime, endTime) => {
  return Math.floor((new Date(endTime).getTime() - new Date(startTime).getTime()) / 1000 / 86400) + 1;
};
// 计算当前进行时间和总时间的比值
export const currentProcess = (startTime, totalTime) => {
  const ingTime = total_time(startTime, new Date());
  // console.log(ingTime, totalTime);
  if (ingTime < 0) return 0;
  if (ingTime >= totalTime) return 1;
  return (ingTime / totalTime).toFixed(2);
};
// 数据拷贝
export const dataCopy = (data) => JSON.parse(JSON.stringify(data));
// 时间格式化
export const formatDate = (time, type = 'yy') => {
  const date = new Date(time);
  const typeObj = {
    'yy': `${date.getFullYear()}`,
    'MM': `${date.getMonth() + 1}`.padStart(2, '0'),
    'dd': `${date.getDate()}`.padStart(2, '0'),
  }
  return typeObj[type];
};
// 格式化的时间日期
export const getFormatDate = (time = new Date()) => {
  return `${formatDate(time, 'yy')}-${formatDate(time, 'MM')}-${formatDate(time, 'dd')}`;
}
// 项目状态
export const projectStatus = (theoryProgress, actualProgress) => {
  if (theoryProgress >= 1 && actualProgress < 1) return 'exception';
  if (theoryProgress > actualProgress) return 'warning';
  return 'success';
}
// 计算月份距离
export const monthGrain = (date1, date2) => {
  // 拆分年月日
  date1 = date1.split('-');
  // 得到月数
  date1 = parseInt(date1[0]) * 12 + parseInt(date1[1]) + parseInt(date1[2]) * 1/30;
  // 拆分年月日
  date2 = date2.split('-');
  // 得到月数
  date2 = parseInt(date2[0]) * 12 + parseInt(date2[1]) + parseInt(date2[2]) * 1/30;
  var m = Math.abs(date1 - date2) + 1/30;
  return m.toFixed(2);
};
// 获取月份第一天
export const getFirstDate = (time = new Date()) => {
  time = new Date(time)
  time.setDate(1)
  return `${formatDate(time, 'yy')}-${formatDate(time, 'MM')}-${formatDate(time, 'dd')}`;
}